草庐IT

Hadoop : NoSuchMethodException

全部标签

hadoop - Ambari 1.7 安装无法注册主机 - 数据库中不存在主机条目

我正在尝试通过Ambari1.7在Centos6.5节点上安装HDP2.2。我必须承认安装说明有点困惑,但我相信我已经完成了Ambari安装向导工作所需的所有必要步骤。Ambari服务器设置很顺利,我已经为Ambari创建了一个MySQL数据库并运行了生成模式的创建SQL脚本等。现在,当我尝试通过向导注册主机时,出现异常,提示我的主机不存在于数据库中。好吧,没错,我的主机表是空的。我的最终问题是如何通过此错误并继续安装。但我相信它可能就像需要运行一些插入到ambari数据库主机表的脚本一样简单。有谁知道该表何时被写入?我已经使用完全限定的主机名和安装指南中提到的各种其他配置更改更新了我

hadoop - 我可以在 HDFS 中有不同的 block 放置策略吗?

即一个集群有多个应用程序,每个应用程序在副本位置方面有不同的要求-我可以设置它以支持这些多个应用程序吗? 最佳答案 是的,这是可能的。注意:自行承担风险。编写block放置策略极其复杂且具有风险。您的应用程序需要确定如何放置副本,这似乎是一种代码味道。想想你是否真的需要编写block放置策略。警告过您之后,如果您想知道如何完成此操作,请继续。通常,此功能用于控制群集的平衡程度。例如。由Hadoop供应商之一构建的策略之一是将block放置在磁盘使用百分比最低的磁盘上。这里有一堆资源供您查看:SO发布同样的问题:Modifyingth

hadoop - 文件系统 listStatus 抛出 NullPointerException

我正在尝试列出HDFS中存在的目录的内容。我尝试了以下代码:publicstaticvoidmain(String[]args)throwsIOException{Stringuri=args[1];Configurationconf=newConfiguration();FileSystemfs=FileSystem.get(URI.create(uri),conf);for(inti=0;i但是我遇到了一个异常(exception):Exceptioninthread"main"java.lang.NullPointerExceptionatorg.apache.hadoop.fs

hadoop - HDFS 中的文本文件未正确压缩

我的本​​地有一个.txt文件,我想把这个文件压缩成.gz,然后上传到HDFS的某个位置。下面是我试过的代码:StringcodecClassName=args[1];Stringsource=args[2];Stringdest=args[3];InputStreamin=newBufferedInputStream(newFileInputStream(source));ClasscodecClass=Class.forName(codecClassName);Configurationconf=newConfiguration();CompressionCodeccodec=(C

hadoop - 在 MapReduce 中因为/n 读取被分解成两行的记录

我正在尝试编写一个自定义阅读器,用于读取具有定义字段数的记录(位于两行中)。例如1,2,3,4(","canbethereornot),5,6,7,8我的要求是读取记录并将其作为单个记录推送到映射器中,如{1,2,3,4,5,6,7,8}。请提供一些意见。更新:publicbooleannextKeyValue()throwsIOException,InterruptedException{if(key==null){key=newLongWritable();}//Currentoffsetisthekeykey.set(pos);if(value==null){value=newT

hadoop - Apache Hadoop(大数据)

在hadoop中,数据被分成64mb或128mb的block。假设我有一个大小为70mb的文件。它是否分成两个block64mb和6mb。如果是这样,第二个block只占用了6mb,该block中的其他空间是被浪费了还是被另一个block占用了? 最佳答案 在hadoop中,block大小可以由通过dfs.blocksize属性写入hdfs的应用程序选择:http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml对于应该

hadoop - 语义异常 [错误 10007] : Ambiguous column reference _c1

我在配置单元查询中使用四级嵌套时遇到问题。以下是我正在执行的查询-SELECT*,SUM(qtod.amount)OVER(PARTITIONBYqtod.id,qtod.year_begin_dateORDERBYqtod.tran_date)FROM(SELECT*,SUM(mtod.amount)OVER(PARTITIONBYmtod.id,mtod.quarter_begin_dateORDERBYmtod.tran_date)FROM(SELECT*,SUM(wtod.amount)OVER(PARTITIONBYwtod.id,wtod.month_begin_dateO

python - 使用 Bash 的 Hadoop 流式传输——有多慢?

我从几篇文章中听说,使用bash的Hadoop流式处理比编译代码或python慢得多。这仅适用于排序命令等吗?我的脚本需要-复制文件到节点-onnode以文件作为参数执行商业程序-将输出传回文件夹我的直觉告诉我,这应该与编译版本的速度相似。会是吗? 最佳答案 HadoopStreaming被认为速度慢的主要思想是,对于mapper和reducer,你必须通过标准输入传递参数,这意味着你必须将它们序列化为文本,并获得mapper和reducer的输出您必须将它们从文本反序列化回Java结构,这通常会消耗很多时间。如果您有第三方编译的应

hadoop - 在 Hadoop 中使用 SequenceFile 而不是文本文件的原因

使用SequenceFile而不是文本文件的原因是什么?我猜它们很好,因为输入/输出是序列化的,而不是解析一个对象,如果一个对象需要多次使用的话。另外,我读到它执行文件压缩,因此它占用的空间更少,并且将许多小文件聚合成一个大文件很好。这个论点有效吗?还有什么? 最佳答案 二进制数据(如在SequenceFiles中)通常比文本数据(TextFiles)更紧凑,即使没有显式压缩也是如此。因此需要从硬盘读取/写入硬盘的数据更少。空间节省取决于写入的数据。读取二进制数据的CPU效率高于字符串解析。但是,SequenceFiles不能被人类

hadoop中的JAVA路径错误

我在观看youtube视频时安装了hadoop。当我尝试在终端中运行它时,它给了我这个错误$/usr/local/hadoop-2.6.0/bin/hadoopversion/usr/local/hadoop-2.6.0/bin/hadoop:line144:/usr/iib/java/jdk1.8.0_31/bin//bin/java:Nosuchfileordirectory我在/usr/lib/java/jdk1.8.0_31/bin/中有java,但我不知道为什么错误显示不同的路径。我已经在hadoop-env.sh中设置了这样的路径JAVA_HOME=/usr/iib/jav